home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
UTILFILE
/
UNPROT2.LZH
/
SKPROKEY.FIX
< prev
next >
Wrap
Text File
|
1984-11-10
|
8KB
|
184 lines
Attention Sidekick/Prokey users ! We at Borland were having
trouble getting Sidekick to be compatible with Rosesoft's Prokey and
as many of you Prokey users out there know everything locked up when the
two got together. The reason Prokey does not work is because it trashes
some of the registers when running and confuses Sidekick as to make your
terminal go down. Enclosed is the portion of Prokey which does this.
0730 2EF606D402FF TEST CS:BYTE PTR [02D4H],OFFH
0736 7409 JE 0741H
0738 2EFF2EC602 JMP CS:DWORD PTR [02C6H]
073D 5B POP BX
073E 1F POP DS
073F EBF7 JMP SHORT 0738H
0741 1E PUSH DS
0742 53 PUSH BX
0743 8CCB MOV BX,CS
0745 8EDB MOV DS,BX
0747 FB STI
0748 C5053D0100 MOV BYTE PTR [013DH],00H
074D 803E660400 CMP BYTE PTR [0466H],00H
0752 7420 JE 0774H
0754 833E670400 CMP WORD PTR [0469H],00H
0759 7507 JNE 0762H
075B 833E670400 CMP WORD PTR [0467H],00H
0760 740D JE 076FH
0762 832E670401 SUB WORD PTR [0467H],01H
0767 831E690400 SBB WORD PTR [0469H],00H
076C EB06 JMP SHORT 0774H
076E 90 NOP
076F C606660400 MOV BYTE PTR [0466H],00H
0774 803E530400 CMP BYTE PTR [0466H],00H
0779 74C2 JE 037DH
077B 833E662400 CMP WORD PTR [2466H],00H
0780 7507 JNE 0789H
0782 833E682400 CMP WORD PTR [2468H],00H
0787 740C JE 0795H
0789 832E682401 SUB WORD PTR [2468H],01H
078E 831E662400 SBB WORD PTR [2466H],00H
0793 EBA8 JMP SHORT 073DH
0795 E8841D CALL 251CH ;HMMM !
0798 EBA3 JMP SHORT 073DH
THE SAGA CONTINUES ...
251C 50 PUSH AX
251D 1E PUSH DS
251E A05304 MOV AL,[0453H]
2521 3C01 CMP AL,01H
2523 7407 JE 252CH
2525 3C02 CMP AL,02H
2527 743F JE 2568H
2529 1F POP DS
252A 58 POP AX
252B C3 RET ?NEAR
252C BD9D2D MOV BP,2D9DH BP DESTROYED
252F E8480E CALL 337AH
2532 A16C24 MOV AX,[246CH]
2535 A39D2D MOV [2D9DH],AX
2538 BD9D2D MOV BP,2D9DH
253B E8E30D CALL 3321H
253E BD9D2D MOV BP,2D9DH
2541 BEE023 MOV SI,23E0H SI DESTROYED
2544 B601 MOV DH,01H DX DESTROYED
2546 B201 MOV DL,01H (BUT WILL BE RESTORED
2548 E8230C CALL 317FH BY THE BIOS)
254B E88407 CALL 2CD2H
254E 8B366024 MOV SI,[2460H]
2552 387D07 CALL 2CD2H
2555 A16224 MOV AX,[2462H]
2558 A36824 MOV [2468H],AX
255B C70666240000 MOV WORD PTR [2466H],000H
2561 C606530402 MOV BYTE PTR [0453H],02H
2566 EBC1 JMP SHORT 2529H
2568 BD9D2D MOV BP,2D9DH
256B E80C0E CALL 337AH
256E C606530400 MOV BYTE PTR [0453H],00H
2573 EBB4 JMP SHORT 2529H
.
.
.
Prokey does not save and restore all registers when trapping interrupt
1C. The reason why this error occurs at a higher frequency when using
Sidekick is beyond this discussion. However, to verify the error try the
following:
1. Start Prokey
2. Define a key recursively
3. Notice prokey now issues an error message
4. terminate definition (fast...)
5. press return 100 times
6. if prokey did not crash repeat step 2-6
Register destroying occurs when Prokey is flashing error message. You must
terminate and press return as fast as possible, and be logged on a floppy
drive (important: let your prompt show the active directory in order to let
dos read on the disk).
The following program establishes a trap at interrupt 8 (to make sure Prokey
or others does not overwrite it, bios int 8 then activates 1C).
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START PROC
JMP SHORT SETUP
START ENDP
INT08SAVE DD
INT08TRAP PROC FAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH BP
PUSH DS
PUSH ES
PUSHF
CALL INT08SAVE
POP ES
POP DS
POP BP
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
IRET
INT08TRAP ENDP
EOTRAP:
SETUP PROC
MOV DS,AX
MOV SI,20H
CLI
LES AX,DWORD PTR[SI]
MOV WORD PTR INT08SAVE,AX
MOV WORD PT
MOV WORD PTR [SI],OFFSET INT08TRAP
MOV [SI+2],CS
STI
MOV DX,OFFSET EOTRAP+1
SETUP ENDP
CODE ENDS
END START
It may be faster to enter the follwoing bytes using debug and writing them
to the file profix.com, thus saving your original prokey file:
e100
0100: EB 1D 00 00 00 00 50 53 51 52 56 57 55 1E 06 9C
0110: 2E FF 1E 02 01 07 1F 5D 5F 5E 5A 59 5B 58 CF 33
0120: C0 8E D8 BE 20 00 FA C4 04 2E A3 02 01 2E 8C 06
0130: 04 01 C7 04 06 01 8C 4C 02 FB BA 20 01 CD 27
RCX
3F
NPROFIX.COM
W
NOW USE PROFIX INSTEAD OF PROKEY
NOTE: THIS MAY NOT BE THE COMPLETE SOLUTION AS THE WORD STILL DOES NOT
WORK WITH PROKEY. FURTHERMORE THIS HAS ONLY BEEN TESTED USING PROKEY
VERSION 3.0 - OLDER VERSIONS MAY HAVE OTHER BUGS!
Press ENTER to continue:
N TESTED USING PROKEY
VERSION 3.0 - OLDER VERSIONS